#ifndef INVERTED_INDEX_HASH_MAP
#define INVERTED_INDEX_HASH_MAP

#include <string>

using namespace std;

#include "HashMapImplementation.h"

// InvertedIndexHashMap
class InvertedIndexValue
{
	// member fucntions
public:
	InvertedIndexValue();
	~InvertedIndexValue();

	// data members
public:
	size_t m_iDocFreq;
	size_t m_iPstngLen;
	string m_sPstngLst;
};

class InvertedIndexHashMap
{
	// member functions
public:
	InvertedIndexHashMap(string outputDirectory, int partitionNo);
	~InvertedIndexHashMap();

	void DumpInvertedIndex();

	// data members
private:
	string m_sOutputPath;
	size_t m_iPartitionNo;
	size_t m_iBarrelNo;

	HashMapImplementation<InvertedIndexValue> m_HashMapHndl;
};

#endif